As a rule, when confidential data are transmitted via insecure channels, the data are encrypted on the transmitter side, the encrypted data transmitted, and the encrypted data decrypted again by the receiver. To do this, various encryption or cryptographic methods are known:
The role of traditional cryptographic methods employing, for example, transposition encryption and simpler or more complex substitutions has now become practically insignificant because methods of attack are generally known for this; therefore, there can be no adequate guarantee of security against decryption by third parties.
In the so-called secret key methods transmitter and receiver employ a secret code that should not be known to attackers. Block encryption, stream encryption and encryption via hash functions are known in this respect. Block encryption methods contain symmetric algorithms that process the original data or the plain text block by block, whereby a fixed block size is specified.
Stream encryption methods are symmetric methods that process the plain text bit by bit or byte by byte, e.g. One-Time-Pad, RC4, SEAL, WAKE, FCSRs. In the One-Time-Pad method the plain text is reproduced by bit vectors of length l, whereby each bit vector is encrypted with a secret key vector of length p≧1. In this case every data vector of the plain text is interlinked with the key vector bit by bit by way of XOR so that a bit string of length r is output. Hence, the encrypted text contains a sequence of bit vectors with length r and is sent to the receiver. The receiver can then link the encryption vectors with the key vector again bit by bit by way of XOR and from this obtain the data vectors of the plain text again. In doing so, the mathematical property of the XOR function is exploited such that the duplicated XOR linking of a first Boolean variable with a second Boolean variable leads to the first Boolean variable again, which means that the XOR link is an inversion in itself.
This method of encryption—like other stream encryption methods—is secure when a sufficiently large key vector is used. In this respect, bit vectors of length, for example, r=65 536 bits are normally used. High data rates exceeding 1 MB/s or even 1 GB/s are possible with such secret key methods.
However, one particular problem is the transmission of the secret key that the receiver requires to decrypt the information. The transmission and secure storage of the key is, in cryptographic terms, a weak point with regard to attack by third parties, which means that secret key methods are used only to a limited extent.
Asymmetric methods, also called public key methods, are also known. In these methods there is a public key that can be used by anyone to encrypt a plain text and send the encrypted text to the receiver. The receiver has a private key with which he can decrypt the encrypted information. The private key is known only to the receiver; and when the code is sufficiently long, the private key also cannot be derived from the public key with a feasible computational effort. Examples of asymmetric methods regarded as secure are, in particular, RSA, Rabin, ElGamal, McEliece, cryptosystems based on elliptical curves and probabilistic public key encryption. The latter employs random values for the encryption.
The disadvantage of the public key method, especially the probabilistic public key method, is the high computational effort required on both the transmission and the reception side. Data rates of 1 MB/S, e.g. 1024 bits—regarded these days as a secure key length—for RSA, are only possible at present with special hardware; data rates of 1 GB/s cannot be achieved with the hardware currently available.